<!doctype HTML public "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Click to Convert 5.2: Anything to HTML -->
<!-- http://www.clicktoconvert.com -->

<html>
<head>
<title>gravityboxscheduleuserguide - page 91 of 234</title>
<meta http-equiv=content-type content=text/html;charset=iso-8859-1>
<meta name="Generator" content="Click to Convert">

<!--Start of page styles-->
<STYLE TYPE="text/css">
<!--
 /* Foreground Image Styles */

 /* Position Styles */
 .ts91p0{position:absolute;left:106px;top:97px;}
 .ts91p1{position:absolute;left:352px;top:97px;}
 .ts91p3{position:absolute;left:672px;top:97px;}
 .ts91p7{position:absolute;left:106px;top:113px;}
 .ts91p8{position:absolute;left:706px;top:1026px;}
 .ts91p9{position:absolute;left:331px;top:1044px;}
 .ts91p13{position:absolute;left:161px;top:146px;}
 .ts91p15{position:absolute;left:286px;top:146px;}
 .ts91p18{position:absolute;left:161px;top:167px;}
 .ts91p20{position:absolute;left:286px;top:167px;}
 .ts91p21{position:absolute;left:286px;top:186px;}
 .ts91p23{position:absolute;left:161px;top:207px;}
 .ts91p25{position:absolute;left:286px;top:207px;}
 .ts91p26{position:absolute;left:286px;top:226px;}
 .ts91p28{position:absolute;left:286px;top:244px;}
 .ts91p29{position:absolute;left:286px;top:262px;}
 .ts91p30{position:absolute;left:286px;top:281px;}
 .ts91p32{position:absolute;left:106px;top:299px;}
 .ts91p33{position:absolute;left:106px;top:318px;}
 .ts91p34{position:absolute;left:106px;top:336px;}
 .ts91p36{position:absolute;left:106px;top:354px;}
 .ts91p37{position:absolute;left:106px;top:373px;}
 .ts91p38{position:absolute;left:106px;top:391px;}
 .ts91p41{position:absolute;left:106px;top:410px;}
 .ts91p42{position:absolute;left:106px;top:428px;}
 .ts91p43{position:absolute;left:106px;top:446px;}
 .ts91p44{position:absolute;left:106px;top:465px;}
 .ts91p46{position:absolute;left:106px;top:483px;}
 .ts91p47{position:absolute;left:106px;top:502px;}
 .ts91p48{position:absolute;left:106px;top:520px;}
 .ts91p49{position:absolute;left:106px;top:538px;}
 .ts91p51{position:absolute;left:106px;top:557px;}
 .ts91p52{position:absolute;left:106px;top:575px;}
 .ts91p53{position:absolute;left:106px;top:594px;}
 .ts91p55{position:absolute;left:106px;top:612px;}
 .ts91p56{position:absolute;left:106px;top:630px;}
 .ts91p57{position:absolute;left:106px;top:649px;}
 .ts91p60{position:absolute;left:106px;top:667px;}
 .ts91p61{position:absolute;left:106px;top:686px;}
 .ts91p62{position:absolute;left:106px;top:704px;}
 .ts91p63{position:absolute;left:106px;top:722px;}
 .ts91p67{position:absolute;left:106px;top:741px;}
 .ts91p68{position:absolute;left:106px;top:759px;}
 .ts91p69{position:absolute;left:106px;top:778px;}
 .ts91p71{position:absolute;left:106px;top:796px;}
 .ts91p74{position:absolute;left:106px;top:814px;}
 .ts91p75{position:absolute;left:106px;top:833px;}
 .ts91p77{position:absolute;left:106px;top:851px;}
 .ts91p78{position:absolute;left:106px;top:870px;}
 .ts91p80{position:absolute;left:106px;top:888px;}
 .ts91p81{position:absolute;left:106px;top:906px;}
 .ts91p82{position:absolute;left:106px;top:925px;}
 .ts91p84{position:absolute;left:106px;top:943px;}
 .ts91p85{position:absolute;left:106px;top:962px;}

 /* Font Styles */
 .ft0p91{font-style:normal;font-weight:bold;font-size:13px;font-family:arial,sans-serif;color:#000000;}
 .ft1p91{font-weight:normal;}
 .ft2p91{font-style:normal;font-weight:normal;font-size:13px;font-family:"times new roman","times new roman",times,serif;color:#000000;}
 .ft3p91{font-style:normal;font-weight:normal;font-size:16px;font-family:"times new roman","times new roman",times,serif;color:#000000;}
 .ft4p91{font-style:normal;font-weight:bold;font-size:11px;font-family:arial,sans-serif;color:#000000;}
 .ft5p91{font-style:normal;font-weight:normal;font-size:16px;font-family:arial,sans-serif;color:#000000;}

 /* Background Style */
 .styleBackground91{position:absolute;left:105px;top:145px}

 /* Navigation Styles */
 .styleNavBarTop{position:absolute;left:0px;top:2px}
 .nb{position:absolute;left:2px;top:0px}
 .nbs{position:absolute;left:0px;top:0px}
 .nbe{position:absolute;left:836px;top:0px}
 .styleNavBarBot{position:absolute;left:0px;top:1117px}
-->
</STYLE>
<!--End of page styles-->

</head>
<body bgcolor="#ffffff" text="#000000" link="#0000FF" Vlink="#660099">

<table id="pageTable" width="836" STYLE="position: relative; left: auto; top: auto;"><tr><td>
<div class=nbs><img src="./navbarstart.gif" width="2" height="30"></div>
<div class=nb><img src="./navbar.gif" width="836" height="30" alt="Navigation bar"></div>
<div class=nbe><img src="./navbarend.gif" width="2" height="30"></div>
<div class=styleNavBarTop>
<table width="834" height="26" border="0" cellspacing="0">
  <tr align="left">
    <td width="4">&nbsp;</td>
    <td width="25" align="center"><a href="http://www.gravitybox.com" target="_parent"><img src="./home.gif" border="0" alt="Home"></a></td>
    <td width="25" align="center"><a href="#" onClick="window.open('./print.html','Printing','width=300,height=100,toolbar=no,directories=no');return false;"><img src="./print.gif" border="0" alt="Print document"></a></td>
    <td width="10" align="center"><img src="./separator.gif" border="0"></td>
    <td width="18" align="center"><a href="./index1.html"><img src="./start.gif" width="18" height="14" border="0" alt="Start"></a></td>
    <td width="18" align="center"><a href="./index90.html"><img src="./back.gif" width="14" height="14" border="0" alt="Previous page"></a></td>
    <td width="80" valign="middle"><table width="100%" height="16" border="0" cellspacing="1" bgcolor="#ACA899"><tr><td align="center" bgcolor="#ffffff"><font face=verdana,arial,sans-serif><font size="1">&nbsp;91 of 234&nbsp;</font></font></td></tr></table></td>
    <td width="18" align="center"><a href="./index92.html"><img src="./forward.gif" width="14" height="14" border="0" alt="Next page"></a></td>
    <td width="18" align="center"><a href="./index234.html"><img src="./end.gif" width="18" height="14" border="0" alt="End"></a></td>
    <td width="620">&nbsp;</td>
  </tr>
</table>
<p>
</div>
<nobr>
<div class=styleBackground91><img src="./background91.png" width="633" height="910" border="0" alt=""></div>
<div class=ts91p0><span class="ft0p91"> </span></div>
<div class=ts91p1><span class="ft0p91">Gravitybox Schedule Primer<span class="ft1p91"> </span></span></div>
<div class=ts91p3><span class="ft0p91">Page 89&nbsp; </span></div>
<div class=ts91p7><span class="ft2p91"> </span></div>
<div class=ts91p8><span class="ft3p91"> </span></div>
<div class=ts91p9><span class="ft4p91">1998&#45;2004 Gravitybox Software LLC<span class="ft3p91"> </span></span></div>
<div class=ts91p13><span class="ft5p91">StartTime </span></div>
<div class=ts91p15><span class="ft5p91">This is the Time at which the search should begin. </span></div>
<div class=ts91p18><span class="ft5p91">ItemLength </span></div>
<div class=ts91p20><span class="ft5p91">This is the length of the desired free slot. The desired </span></div>
<div class=ts91p21><span class="ft5p91">appointment length will be used as this parameter. </span></div>
<div class=ts91p23><span class="ft5p91">IgnoreIndexes </span></div>
<div class=ts91p25><span class="ft5p91">This optional parameter specifies indexes in the </span></div>
<div class=ts91p26><span class="ft5p91">ScheduleItems collection to ignore in the search. If no </span></div>
<div class=ts91p28><span class="ft5p91">appointments should be ignored this value should be set to </span></div>
<div class=ts91p29><span class="ft5p91">empty string (optional default). The ignore indexes are </span></div>
<div class=ts91p30><span class="ft5p91">numbers separated by a space, comma, colon, or semicolon. </span></div>
<div class=ts91p32><span class="ft5p91"> </span></div>
<div class=ts91p33><span class="ft5p91"> </span></div>
<div class=ts91p34><span class="ft5p91">The method needs to know the position to begin its search. This is defined by the first </span></div>
<div class=ts91p36><span class="ft5p91">three parameters: StartDate, StartRoom, and StartTime. If any one of these parameters </span></div>
<div class=ts91p37><span class="ft5p91">is not applicable, it is simply ignored. For example, in DayOnly mode there is no </span></div>
<div class=ts91p38><span class="ft5p91">concept of Rooms, so no matter the StartRoom parameter value it will be ignored.&nbsp; </span></div>
<div class=ts91p41><span class="ft5p91"> </span></div>
<div class=ts91p42><span class="ft5p91">The most curious parameter is the last one, IgnoreIndexes. In most cases, this </span></div>
<div class=ts91p43><span class="ft5p91">parameter will not be set. If using Java, or some other language, that does not allow </span></div>
<div class=ts91p44><span class="ft5p91">optional parameters, the parameter may be set it to empty string. This value will allow </span></div>
<div class=ts91p46><span class="ft5p91">for one or more ScheduleItem objects to be ignored in the search. This is useful if </span></div>
<div class=ts91p47><span class="ft5p91">moving an appointment. If moving appointment 57 to the next available position, the </span></div>
<div class=ts91p48><span class="ft5p91">StartDate and StartRoom parameters would be set the appointment&#146;s StartDate and </span></div>
<div class=ts91p49><span class="ft5p91">Room properties respectively. The StartTime parameter would be set to the </span></div>
<div class=ts91p51><span class="ft5p91">appointment&#146;s StartTime plus one ScheduleIncrement. One increment is added </span></div>
<div class=ts91p52><span class="ft5p91">because the appointment already lives where it is and the search is looking for the next </span></div>
<div class=ts91p53><span class="ft5p91">slot. In this case the IgnoreIndexes parameter would be set to 57. This action would </span></div>
<div class=ts91p55><span class="ft5p91">ignore this ScheduleItem object when performing the search. Since the search is </span></div>
<div class=ts91p56><span class="ft5p91">seeking the next slot that contains no conflicts, it does not matter if the specified slot </span></div>
<div class=ts91p57><span class="ft5p91">contains this appointment, since it is being moved anyway. </span></div>
<div class=ts91p60><span class="ft5p91"> </span></div>
<div class=ts91p61><span class="ft5p91">We can create an example schedule with three appointments. All are one hour long. </span></div>
<div class=ts91p62><span class="ft5p91">They start at 8AM, 9AM, and 10:30AM respectively. It is obvious that the next available, </span></div>
<div class=ts91p63><span class="ft5p91">non&#45;conflicting spot for appointment 2 is for 9:30AM. The appointment may be moved </span></div>
<div class=ts91p67><span class="ft5p91">down thirty minutes and no conflict will occur. If a check is performed to find the next </span></div>
<div class=ts91p68><span class="ft5p91">available slot without specifying an IgnoreIndexes parameter, the returned StartTime </span></div>
<div class=ts91p69><span class="ft5p91">will be 11:30AM. This is because the search will look at 10:30AM as conflicting. Indeed, </span></div>
<div class=ts91p71><span class="ft5p91">there is no one&#45;hour slot available, because appointment two lasts from 9:00AM until </span></div>
<div class=ts91p74><span class="ft5p91">10:00AM. This is why the IgnoreIndexes is so important. In this example, it is not </span></div>
<div class=ts91p75><span class="ft5p91">important to consider appointment two. In fact, it is important that this appointment not </span></div>
<div class=ts91p77><span class="ft5p91">be considered in the search criteria, since this inclusion will cause the search to return </span></div>
<div class=ts91p78><span class="ft5p91">erroneous results. </span></div>
<div class=ts91p80><span class="ft5p91"> </span></div>
<div class=ts91p81><span class="ft5p91">The method returns a CScheduleEl object. This object is NOT part of the </span></div>
<div class=ts91p82><span class="ft5p91">ScheduleItems collection. It is returned with its StartDate, Room, StartTime, and Length </span></div>
<div class=ts91p84><span class="ft5p91">properties set. All other properties of the object are default values. This object is used </span></div>
<div class=ts91p85><span class="ft5p91">because it has all the necessary properties needed to define the next free slot. If there </span></div>
<div class=styleNavBarBot>
<table width="836" border="0" cellspacing="2">
  <tr></tr>
  <tr>
    <td width="118"><a href="http://www.purepage.com"><img src="./smalllogo.gif" width="118" height="46" border="0" alt="http://www.purepage.com"></a></td>
    <td></td>
  </tr>
</table>
</div>

</td></tr></table>

</body>
</html>
